网络层

网络层功能

1 异构网络互联

网络互联通常指用路由器进行网络互联和路由选择,在TCP/IP体系中,参加互联的计算机网络使用相同的IP协议,组成一个虚拟互联网络,该网络对互联的具体网络异构细节是透明的。

2 路由与转发

路由器主要完成两个功能:路由选择(确定哪一条路径)和分组转发(分组到达时所采取的行动)

3 拥塞控制

通信子网中,由于出现过量的分组而引起网络性能下降的现象称为拥塞。

判断:
网络负载增加而网络吞吐量明显小于正常吞吐量则网络进入”轻度拥塞”状态;若网络吞吐量随着网络负载的增加反而下降,网络进入拥塞状态;若网络吞吐量下降到零,则网络进入死锁状态。

流量控制和拥塞控制:
流量控制只涉及发送端和接收端,通过控制发送端的数据发送速率,使接收端及时接收。拥塞控制是全局问题,涉及网络中所有主机、路由器和导致网络传输能力下降的所有因素。

拥塞控制方法:

  • 开环控制:事先考虑拥塞因素,预防拥塞产生,是一种静态方法。
  • 闭环控制:事先不做处理,检测到拥塞再处理,是一种动态方法。

路由算法

1 静态路由和动态路由

静态路由算法:网络管理员手工配置路由信息
动态路由算法:路由器之之间彼此交换路由信息,按照一定的算法获得最优寻路效果

2 距离-向量路由算法

距离-向量路由算法中,所有节点定期将它们的整个路由选择表传送给所有直接相邻结点。路由选择表包括:每条路径的目的地和路径的距离(跳数)

3 链路状态路由算法

链路状态路由中,每个结点都有完全的网络拓扑图,当链路状态发生变化时,结点通过广播方式向所有结点告知与自己直接相连的链路信息。
距离-向量路由算法和链路状态路由算法比较

距离-向量路由算法 链路状态路由算法
交流对象 直接相邻结点 其他所有结点
交流内容 自己到网络中所有其他结点的信息 与自己直接相连的链路信息
路由环路 有可能出现

4 层次路由

路由选择按照层次方式进行以适应网路规模的扩大

  1. 内部网关协议(IGP):自治系统内部所使用的路由选择协议
    • RIP协议
    • OSPF协议
  2. 外部网关协议(EGP):自治系统之间所使用的路由协议
    • BGP协议

IPv4

1 IPv4分组

  1. IPv4分组格式
    一个IP分组由首部和数据两部分组成,首部的前一部分长度固定为20(4*5)字节

    IP

    IP 首部重要字段:

     - 版本:IP协议版本
     - 首部长度:基本单位为4B(32位)
     - 总长度:基本单位为B(即字节),最大长度为2<sup>16</sup>-1 = 65535 字节
     - 标识:每产生一个数据报,标识加一;一个数据报的不同分片标识相同
     - 标志:占3位,最低位为MF(more fragment),MF =1 表示还有分片,MF=0 表示最后一个分片;中间位为DF(Don't Fragment),DF = 0 表示该数据报允许分片
     - 片偏移:基本单位为8字节(64位)
     - 首部检验和:只检验分组的首部,不检验数据部分
     - 生产时间TTL:数据报可通过路由器数的最大值
     - 协议:传输层协议
    
  2. IP 数据报分片
    MTU:最大传输单元,指链路层数据报所能承受的最大数据量,以太网的MTU为1500字节。

  3. 网络层转发分组的流程

IPv4地址与NAT

  1. IPv4地址
    IP地址
    特殊IP地址:

    • 主机号全为0 表示本网络本身
    • 主机号全为1表示本网络的广播地址
    • 127.0.0.0用于环路自检,表示任意主机自身
    • 0.0.0.0表示本网络的本主机
    • 255.255.255.255 表示网络的广播地址
  2. 网络地址转换(NAT)
    NAT:NAT通过将内网地址转化为公网地址,对外屏蔽内部IP地址。
    NAT转换表:储存{本地IP地址:端口}到{全球IP地址:端口}的映射关系
    NAT看得见端口,故工作在传输层

子网划分与子网掩码、CIDR

  1. 子网划分
    从主机位借用若干比特作为子网号,如三级IP地址={网络号,子网号,主机号}

  2. 子网掩码
    子网掩码(二进制)与主机IP地址作 与操作 得到 主机网络号

  3. 无分类编址CIDR
    CIDR:取消传统ABCD类网络划分,采用{网络前缀,主机号}的两级编址
    路由聚合:将网络前缀相同的连续IP地址组成新的CIDR地址块
    最长前缀匹配:使用CIDR时查找路由表可能会得到多个匹配结果,应当在匹配结果中找具有最长网络前缀的路由。

ARP协议、DHCP协议与ICMP协议

  1. ARP协议(地址解析协议):
    每个主机本地高速缓存存放ARP表,用来维护IP地址到MAC地址的映射。A欲向B发数据时,查找ARP表,若找到,则将MAC地址写入MAC帧后发送;若找不到,则向局域网所有主机广播ARP请求,B收到请求后向A发出响应,A更新B的映射关系到ARP表,再次查询后将B的MAC地址写入MAC帧,发送数据。
    ARP协议工作在网络层。

  2. 动态主机配置协议DHCP
    DHCP 常用于给主机动态地分配IP地址,DHCP是基于UDP的应用层协议
    DHCP工作原理:
    需要IP的主机广播发现报文,DHCP服务器收到报文后回答此广播报文,为其分配地址,称为提供报文。
    DHCP客户端和服务端通过广播方式进行交互。

网际控制报文协议ICMP

ICMP 是IP层协议,用来报告差错和异常情况。
ICMP报文种类:

  • ICMP差错报告报文:
    • 终点不可达
    • 源点抑制
    • 时间超时
    • 参数问题
    • 改变路由
  • ICMP询问报文
    • 会送请求和回答报文
    • 时间戳请求和回答报文
    • 掩码地址请求和回答报文
    • 路由器询问和通告报文
    • ICMP的应用:
  • PING:工作在应用层
  • traceroute:工作在网络层

IPv6

IPv6 采用128位地址

路由协议

自治系统

自治系统(AS):单一技术管理下的一组路由器,使用内部路由选择协议确定分组在AS内的路由,使用域间路由协议确定分组在AS之间的路由。

域内路由与域间路由

  1. 内部网关协议
  • RIP协议
  • OSPF协议
  1. 外部网关协议
  • BGP-4

RIP路由协议

RIP是一种分布式的基于距离向量的路由选择协议,是基于UDP的应用层协议
RIP 协议规定:

  • 路由器维护自己到其他每一个路由器的距离记录(这样一组距离称为距离向量)
  • 每经过一个路由器跳数加一,最多允许15跳,距离为16时表示网络不可达。
  • 优先选择跳数小的路径

RIP 协议优点:实现简单,开销小
RIP协议缺点:

  • 由于要交换完整路由表,网络规模越大,开销越大
  • 网络故障时会出现慢收敛现象,俗称“坏消息传的慢”

OSPF路由协议

  1. OSPF协议基本特点
    开发最短路径优先(OSPF)协议是使用分布式链路状态路由算法的典型代表。
    OSPF协议特点:
  • 使用泛红法向所有路由器发送信息
  • 发送信息为与本路由器相邻的所有路由器的链路状态
  • 链路发生变化时,路由器才用泛红法向所有路由器发送此消息,更新收敛块
  • OSPF是网络层协议,使用IP数据报传送;而RIP是应用层协议,使用UDP传送。
  • 每隔一段时间刷新一次数据库中的链路状态

BGP路由协议

边界网关协议(BGP)是不同自治系统的路由器之间交换路由信息的协议。
BGP是基于TCP的应用层协议。
工作原理:每个自治系统选择一个“BGP”发言人,发言人之间要交换路由信息时,先建立TCP连接。
三种路由协议的比较:

协议 RIP OSPF BGP
类型 内部 内部 外部
路由算法 距离-向量 链路状态 路径-向量
传递协议 UDP IP TCP
路径选择 跳数最少 代价最低 较好,非最佳
交换结点 和本结点相邻的路由器 网络中全部路由器 和本结点相邻的路由器
交换内容 自己的路由表 与本路由器相邻的所有路由器的链路状态 首次:整个路由表;非首次:有变化的部分

网络层设备

路由器组成和功能

路由器是一种具有多个输入输出端口的专用计算机,其任务是连接异构的网络并完成路由转发。
路由器是网络层设备,它实现了物理层、数据链路层和网络层。

路由器组成:

  • 路由选择:控制部分,其任务是根据路由选择协议构造路由表,并对路由表进行维护和更新。
  • 分组转发:
    • 交换结构:处理分组
    • 一组输入端口:从比特流提取网络从数据
    • 一组输出端口:与输入端口进行相反操作

路由表与路由转发

路由表根据路由选择算法得出,用于路由选择。包含目的网络IP地址、子网掩码、下一跳IP地址和接口。
转发表由路由表得出,包含分组的目的地址和下一跳地址(MAC)